
PROGRAM 20   192 BYTES

   DPY-WATCHDOG TEST
   STOP
   DPY-LED23=OFF,ACN1,3,4=+5V
   REG8 = 40
   DPY-+%8
0: LABEL 0
   DTOG @ CTL = 0 BIT 3
   REG1 = 10
1: LABEL 1
   DEC REG1
   IF REG1 = 0 GOTO 0
   IF REG8 = 40 GOTO 1
   DPY-LED23=ON,ACN1,3,4=0V
   STOP
   DPY-BUSS TEST
   BUS TEST
   DPY-RAM  IC45 TEST
   RAM SHORT @ 8000-87FF
   DPY-ROM TEST U44
   ROM TEST @ 0000-7FFF SIG D800
   DPY-COMPLETE

PROGRAM 21   176 BYTES

   DPY-U22 INPUT TEST
   STOP
   WRITE @ 10033 = 76
   WRITE @ 10031 = 02
   WRITE @ REGF = 00
   WRITE @ 10041 = DD
   WRITE @ REGF = 14
   WRITE @ REGF = 2A
1: LABEL 1
   READ @ STS
   REGC = REGC AND 100
   IF REGC = 0 GOTO 1
   WRITE @ 10041 = F0
   WRITE @ REGF = 50
   READ @ 10040
   DPY-  $E
   READ @ REGF REPT REPT
   DPY-+   $E
   READ @ REGF REPT
   DPY-+   $E
   READ @ REGF
   DPY-+   $E
   READ @ REGF
   DPY-+   $E
   GOTO 1

PROGRAM 22   346 BYTES

   DPY-U22 DISPLAY AND RAM TEST
   STOP
   DPY-CONNECT CABLE ACN3 CABLE A
   STOP
   DPY-NOTE WALKING SEG DUR TEST
   WRITE @ 10003 = 80
   WRITE @ 10002 = 00
   WRITE @ 10033 = 76
   WRITE @ 10031 = 02
   WRITE @ REGF = 00
   WRITE @ 10041 = C3
   WRITE @ REGF = 06
   WRITE @ REGF = 2A
0: LABEL 0
   REG3 = 1
1: LABEL 1
   REG2 = 0
   REG1 = REG3
   WRITE @ 10041 = 90
2: LABEL 2
   WRITE @ 10040 = REG1
   SHL REG1
   IF 100 > REG1 GOTO 3
   REG1 = 1
3: LABEL 3
   INC REG2
   IF 8 > REG2 GOTO 2
   REG2 = 0
   REG1 = REG3
   WRITE @ 10041 = 70
4: LABEL 4
   READ @ 10040
   IF REGE = REG1 GOTO 5
   DPY-##ERROR DIG $2, $E NOT $1
5: LABEL 5
   SHL REG1
   IF 100 > REG1 GOTO 6
   REG1 = 1
6: LABEL 6
   INC REG2
   IF 8 > REG2 GOTO 4
   SHL REG3
   IF REG3 = 100 GOTO 0
   GOTO 1

PROGRAM 23   438 BYTES

   DPY-U22  PART 2,SCAN TO KB
   STOP
   DPY-OPEN S2,S3,S4,ACN2,ACN9
   STOP
   DPY-CONNECT ACN3 CABLE A
   STOP
   WRITE @ 10033 = 76
   WRITE @ 10031 = 02
   WRITE @ REGF = 00
   WRITE @ 10041 = DD
   WRITE @ REGF = 14
   WRITE @ REGF = 2A
   REG8 = 40
   DPY-+%8
0: LABEL 0
   REG2 = 0
   REG1 = 1
   WRITE @ 10041 = F0
   WRITE @ 10041 = 50
1: LABEL 1
   REG3 = REG1
   CPL REG3
   REG3 = REG3 AND FF
   READ @ 10040
   IF REGE = REG3 GOTO 2
   GOTO 4
2: LABEL 2
   IF REG1 = 80 GOTO 3
   SHL REG1
   GOTO 1
3: LABEL 3
   IF REG2 > 0 GOTO 5
   DPY-#PASS
   GOTO 6
5: LABEL 5
   DPY-##FAIL $2 ERRORS
   EXECUTE PROGRAM 99
   GOTO 6
4: LABEL 4
   DPY-###ERROR  WAS $E NOT $3
   INC REG2
   GOTO 2
6: LABEL 6
   IF REG8 = 25 GOTO 7
   GOTO 0
7: LABEL 7
   DPY-INTERUPT TEST
   STOP
   DPY-WHILE TEST IS RUNNING
   STOP
   DPY-REMOVE OR ADD CABLE FOR INT
8: LABEL 8
   READ @ STS
   IF REGC AND 08 = 0 GOTO 8
9: LABEL 9
   DPY-INTERUPT RECIEVED

PROGRAM 24   625 BYTES

   DPY-U22 PART 3,SWITCH INPUT TEST
   STOP
   DPY-CLOSE S2, S3, S4
   STOP
   DPY-INSTALL ACN2, ACN9 CABLE A
   STOP
   WRITE @ 10033 = 76
   WRITE @ 10031 = 02
   WRITE @ REGF = 00
   WRITE @ 10041 = DD
   WRITE @ REGF = 14
   WRITE @ REGF = 2A
   REG8 = 40
   DPY-+%8
0: LABEL 0
   WRITE @ 10041 = F0
   WRITE @ REGF = 50
1: LABEL 1
   READ @ 10040
   IF REGE = 00 GOTO 2
   DPY-##ERR SCN0 WAS $E NOT 00
   EXECUTE PROGRAM 99
   EXECUTE PROGRAM 99
2: LABEL 2
   READ @ 10040
   IF REGE = FF GOTO 3
   DPY-##ERR SCN1 WAS $E NOT FF
   EXECUTE PROGRAM 99
   EXECUTE PROGRAM 99
3: LABEL 3
   READ @ 10040
   IF REGE = FF GOTO 4
   DPY-##ERR SCN2 WAS $E NOT FF
   EXECUTE PROGRAM 99
   EXECUTE PROGRAM 99
4: LABEL 4
   READ @ 10040
   IF REGE = 00 GOTO 5
   DPY-##ERR SCN3 WAS $E NOT 00
   EXECUTE PROGRAM 99
   EXECUTE PROGRAM 99
5: LABEL 5
   READ @ 10040
   IF REGE = FF GOTO 6
   DPY-##ERR SCN4 WAS $E NOT FF
   EXECUTE PROGRAM 99
   EXECUTE PROGRAM 99
6: LABEL 6
   READ @ 10040
   IF REGE = 00 GOTO 7
   DPY-##ERR SCN5 WAS $E NOT 00
   EXECUTE PROGRAM 99
   EXECUTE PROGRAM 99
7: LABEL 7
   READ @ 10040
   IF REGE = 00 GOTO 8
   DPY-##ERR SCN6 WAS $E NOT 00
   EXECUTE PROGRAM 99
   EXECUTE PROGRAM 99
8: LABEL 8
   READ @ 10040
   IF REGE = 00 GOTO 9
   DPY-##ERR SCN7 WAS $E NOT 00
   EXECUTE PROGRAM 99
   EXECUTE PROGRAM 99
9: LABEL 9
   DPY-#PASS COMPLETE
   IF REG8 = 40 GOTO 0

PROGRAM 25   329 BYTES

   SYNC DATA
   DPY-U8 DIGITAL INPUTS
   STOP
   WRITE @ 10023 = 9B
   REG8 = 40
   DPY-+%8
0: LABEL 0
   READ @ 10020
   REG9 = REGE
   EXECUTE PROGRAM 98
   DPY-U8 PORTA= $E =$9
   IF REG8 = 40 GOTO 0
   REG8 = 40
   DPY-+%8
1: LABEL 1
   READ @ 10021
   REG9 = REGE
   EXECUTE PROGRAM 98
   DPY-U8 PORTB= $E =$9
   IF REG8 = 40 GOTO 1
   REG8 = 40
   DPY-+%8
2: LABEL 2
   READ @ 10022
   REG9 = REGE
   EXECUTE PROGRAM 98
   DPY-U8 PORTC= $E =$9
   IF REG8 = 40 GOTO 2
   WRITE @ 10073 = 98
   REG8 = 40
   DPY-+%8
3: LABEL 3
   READ @ 10070
   REG9 = REGE
   EXECUTE PROGRAM 98
   DPY-U7 PORTA= $E =$9
   IF REG8 = 40 GOTO 3
   REG8 = 40
   DPY-+%8
4: LABEL 4
   READ @ 10072
   REG9 = REGE
   EXECUTE PROGRAM 98
   DPY-U7 PORTC= $E =$9
   IF REG8 = 40 GOTO 4

PROGRAM 27   405 BYTES

   WRITE @ 10003 = 80
   WRITE @ 10013 = REGE
   WRITE @ 10073 = 98
   WRITE @ 10000 = FF
   WRITE @ 10001 = REGE
   WRITE @ 10002 = REGE
   WRITE @ 10010 = REGE
   WRITE @ 10011 = REGE
   WRITE @ 10012 = REGE
   WRITE @ 10071 = REGE
   WRITE @ 10072 = REGE
   REGF = 10000
   REGC = FF
   DPY-U37 PORTA
   EXECUTE PROGRAM 81
   INC REGF
   DPY-U37 PORTB
   EXECUTE PROGRAM 81
   INC REGF
   REGC = 1B
   DPY-U37 PORTC
   EXECUTE PROGRAM 81
   REGF = 10010
   REGC = FF
   DPY-U13 PORTA
   EXECUTE PROGRAM 81
   INC REGF
   DPY-U13 PORTB
   EXECUTE PROGRAM 81
   INC REGF
   DPY-U13 PORTC
   EXECUTE PROGRAM 81
   REGF = 10071
   REGC = FF
   DPY-U7 PORTB
   EXECUTE PROGRAM 81
   INC REGF
   REGC = 0F
   DPY-U7 PORTC LOWER
   EXECUTE PROGRAM 81
   DPY-BUZZER TEST
   STOP
   DPY-CONNECT SPEAKER TO ACN3,30-34
   STOP
   DPY-SPEAKER WARBLE
   REGC = 40
   DPY-+%C
2: LABEL 2
   DTOG @ 10002 = FF BIT 2 REPT REPT REPT
   IF REGC = 40 GOTO 2
   DPY-COMPLETE

PROGRAM 28   394 BYTES

   DPY-U38 TIMER TESTS
   STOP
   REGC = 40
   DPY-+%C
0: LABEL 0
   DPY-PROBE U38,9 FOR 2500KHZ =
   EXECUTE PROGRAM 92
   IF REGC = 40 GOTO 0
   WRITE @ 10033 = 36
   WRITE @ 10030 = 00
   WRITE @ REGF = 80
   WRITE @ 10033 = 76
   WRITE @ 10031 = 00
   WRITE @ REGF = 80
   WRITE @ 10033 = B6
   WRITE @ 10032 = 00
   WRITE @ REGF = 80
   WRITE @ 10003 = 80
   WRITE @ 10002 = 00
   REGC = 40
   DPY-+%C
3: LABEL 3
   DPY-PROBE TP11 FOR 0HZ =
   EXECUTE PROGRAM 92
   IF REGC = 40 GOTO 3
   WRITE @ 10002 = 80
   REGC = 40
   DPY-+%C
4: LABEL 4
   DPY-PROBE TP11 FOR 75HZ =
   EXECUTE PROGRAM 92
   IF REGC = 40 GOTO 4
   REGC = 40
   DPY-+%C
5: LABEL 5
   DPY-PROBE TP12 FOR 75HZ =
   EXECUTE PROGRAM 92
   IF REGC = 40 GOTO 5
   REGC = 40
   DPY-+%C
6: LABEL 6
   DPY-PROBE TP10 FOR 75HZ =
   EXECUTE PROGRAM 92
   IF REGC = 40 GOTO 6
   DPY-COMPLETE

PROGRAM 29   565 BYTES

   EXECUTE PROGRAM 32
   REGC = 0
   DPY-READ SEC MSB=
E: LABEL E
   EXECUTE PROGRAM 99
   REG8 = C1
   EXECUTE PROGRAM 82
   IF REGE AND F = 0 GOTO 0
   INC REGC
   IF 10 > REGC GOTO E
   DPY-## SECH $E NOT 0
   STOP
0: LABEL 0
   DPY-DATA=
   REG8 = C2
   EXECUTE PROGRAM 82
   IF REGE AND F = 0 GOTO 1
   DPY-## MINL $E NOT 0
   STOP
1: LABEL 1
   REG8 = C3
   EXECUTE PROGRAM 82
   IF REGE AND F = 0 GOTO 2
   DPY-## MINH $E NOT 0
   STOP
2: LABEL 2
   REG8 = C4
   EXECUTE PROGRAM 82
   IF REGE AND F = 2 GOTO 3
   DPY-## HR L $E NOT 2
   STOP
3: LABEL 3
   REG8 = C5
   EXECUTE PROGRAM 82
   IF REGE AND F = 1 GOTO 4
   DPY-## HR H $E NOT 1
   STOP
4: LABEL 4
   REG8 = C6
   EXECUTE PROGRAM 82
   IF REGE AND F = 0 GOTO 5
   DPY-## WDAY $E NOT 0
   STOP
5: LABEL 5
   REG8 = C7
   EXECUTE PROGRAM 82
   IF REGE AND F = 1 GOTO 6
   DPY-## DAYL $E NOT 1
   STOP
6: LABEL 6
   REG8 = C8
   EXECUTE PROGRAM 82
   IF REGE AND F = 0 GOTO 7
   DPY-## DAYH $E NOT 0
   STOP
7: LABEL 7
   REG8 = C9
   EXECUTE PROGRAM 82
   IF REGE AND F = 1 GOTO 8
   DPY-## MONL $E NOT 1
   STOP
8: LABEL 8
   REG8 = CA
   EXECUTE PROGRAM 82
   IF REGE AND F = 0 GOTO 9
   DPY-## MONL $E NOT 0
   STOP
9: LABEL 9
   REG8 = CB
   EXECUTE PROGRAM 82
   IF REGE AND F = 0 GOTO A
   DPY-## YR L $E NOT 0
   STOP
A: LABEL A
   REG8 = CC
   EXECUTE PROGRAM 82
   IF REGE AND F = 9 GOTO B
   DPY-## YR H $E NOT 9
   STOP
B: LABEL B
   DPY-COMPLETE

PROGRAM 30   76 BYTES

   DPY-CLOCK READ
0: LABEL 0
   EXECUTE PROGRAM 99
   DPY-CLOCK =
   REG8 = CC
1: LABEL 1
   EXECUTE PROGRAM 82
   IF REG8 AND 1 = 1 GOTO 2
   DPY-+.
2: LABEL 2
   DEC REG8
   IF BF = REG8 GOTO 0
   GOTO 1

PROGRAM 31   58 BYTES

   REG8 = CF
   REG9 = 00
1: LABEL 1
   WRITE @ 10060 = REG8
   EXECUTE PROGRAM 83
   DEC REG8
   IF BF = REG8 GOTO 0
   GOTO 1
0: LABEL 0
   DPY-COMPLETE

PROGRAM 32   236 BYTES

0: LABEL 0
   DPY-CLOCK MAX
   WRITE @ 10060 = C0
   REG9 = 0
   EXECUTE PROGRAM 83
   WRITE @ 10060 = C1
   REG9 = 5
   EXECUTE PROGRAM 83
   WRITE @ REGF = C2
   REG9 = 9
   EXECUTE PROGRAM 83
   WRITE @ REGF = C3
   REG9 = 5
   EXECUTE PROGRAM 83
   WRITE @ REGF = C4
   REG9 = 1
   EXECUTE PROGRAM 83
   WRITE @ REGF = C5
   REG9 = 5
   EXECUTE PROGRAM 83
   WRITE @ REGF = C6
   REG9 = 6
   EXECUTE PROGRAM 83
   WRITE @ REGF = C7
   REG9 = 1
   EXECUTE PROGRAM 83
   WRITE @ REGF = C8
   REG9 = 3
   EXECUTE PROGRAM 83
   WRITE @ 10060 = C9
   REG9 = 2
   EXECUTE PROGRAM 83
   WRITE @ 10060 = CA
   REG9 = 1
   EXECUTE PROGRAM 83
   WRITE @ REGF = CB
   REG9 = 9
   EXECUTE PROGRAM 83
   WRITE @ REGF = CC
   REG9 = 8
   EXECUTE PROGRAM 83
   DPY- COMPLETE

PROGRAM 33   247 BYTES

   DPY-CONNECT INPUTS AS PER TABLE
   STOP
   WRITE @ 10033 = B6
   WRITE @ 10032 = 19
   WRITE @ REGF = 00
   WRITE @ 10003 = 80
   WRITE @ 10002 = 00
0: LABEL 0
   REGF = 10050
1: LABEL 1
   REG8 = 40
   DPY-+%8
2: LABEL 2
   WRITE @ REGF = 00
   READ @ REGF
   REG1 = REGF AND F
   DPY-ANALOG IN CHAN$1=$E
   IF REG8 = 40 GOTO 2
   INC REGF
   IF 10056 > REGF GOTO 1
   WRITE @ 10002 = 20
   REG8 = 40
   DPY-+%8
3: LABEL 3
   WRITE @ 10050 = 00
   READ @ REGF
   DPY-ANALOG IN CHAN0 HIGH =$E
   IF REG8 = 40 GOTO 3
   GOTO 0

PROGRAM 81   87 BYTES

   REG8 = 40
   DPY-+%8
0: LABEL 0
   REG1 = 80
1: LABEL 1
   REGE = REG1 AND REGC
   IF REGE = 0 GOTO 2
   CPL REGE
   WRITE @ REGF = REGE AND FF
   EXECUTE PROGRAM 99
2: LABEL 2
   SHR REG1
   IF REG1 = 0 GOTO 0
   IF REG8 = 40 GOTO 1
   WRITE @ REGF = FF

PROGRAM 82   35 BYTES

   WRITE @ 10060 = REG8
   WRITE @ REGF = 90
   READ @ REGF
   REGE = REGE AND F
   DPY-+$E

PROGRAM 83   25 BYTES

   REGE = REG9 AND 0F
   REGE = REG9 OR A0
   WRITE @ REGF = REGE

PROGRAM 91   207 BYTES : Frequency - in Utilities.bin

   <BINARY>

PROGRAM 92   32 BYTES

   EXECUTE PROGRAM 91
   DPY-+@8
   IF REG9 = 0 GOTO 0
   DPY-+K
0: LABEL 0
   DPY-+HZ

PROGRAM 98   67 BYTES

   REG1 = REG9
   REG3 = 0
   REG2 = 0
0: LABEL 0
   REG2 = REG2 SHL SHL SHL SHL
   IF REG1 AND 80 = 0 GOTO 1
   REG2 = REG2 OR 1
1: LABEL 1
   SHL REG1
   INC REG3
   IF 8 > REG3 GOTO 0
   REG9 = REG2

PROGRAM 99   28 BYTES

   REG2 = 30
1: LABEL 1
   DEC REG2
   IF REG2 = 0 GOTO F
   GOTO 1
F: LABEL F
